A Logic for Information Flow Analysis of Pointer Programs

نویسندگان

  • Torben Amtoft
  • Sruthi Bandhakavi
  • Anindya Banerjee
چکیده

This paper specifies a nontermination-insensitive, interprocedural, information flow analysis for objectoriented programs via a Hoare-like logic. Pointer aliasing is ubiquitous in such programs, and can potentially leak confidential information. Therefore, assertions in the logic not only describe the noninterference property that formalizes confidentiality, but also describe aliasing properties. The representation of noninterference in assertions makes explicit the independences between variables and addresses. The logic is flow-sensitive and can deem secure more programs than extant type-based information flow analyses. Modular (or local) reasoning is a critical component of the logic. Apart from supporting interprocedural reasoning in a modular way, the logic also supports local reasoning about state in the style of Separation Logic. “Small” specifications are used; they mention only the variables and addresses relevant to a command. Specifications are combined using a frame rule that is sound in the logic. An algorithm for the computation of postconditions is described: under certain assumptions, there exists a strongest postcondition which the algorithm computes. The core language permits programmer assertions, in the style of ESC/Java, thereby providing a more fine-grained information flow analysis. The logic can thus be viewed as a modular, interprocedural static checker for confidentiality.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Analyzing Millions of Lines of Code with Sparse Flow-Sensitive Pointer Analysis

Many program analyses perform better and produce more precise results when they are given precise pointer information. One dimension of precision is flow-sensitive pointer analysis (i.e., an analysis that respects a program’s control-flow), which has been shown to be useful for important applications such as program verification and understanding, among others. However, this type of pointer ana...

متن کامل

Programming With Information Flow-Control

We informally introduce here the information flow-control domain. We then present two theoretical layouts for developping programming language with information flow-control. The approach is semantic-based and allows programs to be statically type-checked. We then consider its practical use, through the so-called Paragon language, extending Java in a user-friendly way. We’ll be especially inters...

متن کامل

Instance keys: A technique for sharpening whole-program pointer analyses with intraprocedural information

Pointer analyses enable many subsequent program analyses and transformations, since they enable compilers to statically disambiguate references to the heap. Extra precision enables pointer analysis clients to draw stronger conclusions about programs. Flow-sensitive pointer analyses are typically quite precise. Unfortunately, flow-sensitive pointer analyses are also often too expensive to run on...

متن کامل

Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java

Many current program analyses require highly precise pointer information about small, targeted parts of a given program. This motivates the need for demand-driven pointer analyses that compute information only where required. Pointer analyses generally compute points-to sets of program variables or answer boolean alias queries. However, many client analyses require richer pointer information. F...

متن کامل

A Shape System and Loop Invariant Inference

Pointer programs remain a major challenge for program analysis and verification. Shape analysis can discover the shape invariants of data structures in the heap and detect errors about manipulating pointers in a program. This paper presents a shape analysis for linked list programs based on a new shape graph representation. Our shape graphs could describe unbounded data structures without loss ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005